package net.cyndeline.scalarlib.rldungeon.grammar.util

import net.cyndeline.scalarlib.rldungeon.dgs.graph.Room

/**
 * Modifies a new vertex that's about to be inserted by a topology production.
 */
trait VertexModification[T <: Room[T]] {

  /**
   * @param room A newly produced room.
   * @return A copy of the room to insert.
   */
  def modify(room: T): T
}
